home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Textdisplayers / TextView / TextView.doc < prev    next >
Text File  |  1996-09-26  |  20KB  |  604 lines

  1. $VER: TextView.doc 1.4 (8.2.96)
  2.  
  3.  
  4.  
  5.  
  6.  
  7. °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
  8.                       Februari 8, 1996
  9.  
  10.                      Torbjörn Andersson
  11.                           presents
  12.                         TextView 1.4
  13.  
  14.                          Shareware
  15.  
  16. °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
  17.  
  18.  
  19.  
  20.  
  21.  
  22. 1. Contents
  23. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  24. Contents ................................................. 1
  25. Introduction ............................................. 2
  26. Requirements ............................................. 3
  27. Usage .................................................... 4
  28. Load ..................................................... 5
  29. Save ..................................................... 6
  30. Crunch ................................................... 7
  31. Search ................................................... 8
  32. Settings ................................................. 9
  33. Comments ................................................ 10
  34. History ................................................. 11
  35. Credits ................................................. 12
  36. Distribution ............................................ 13
  37.  
  38.  
  39.  
  40.  
  41.  
  42. 2. Introduction
  43. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  44. TextView is one of the programs I use most.  I made it
  45. because I wanted a good and fast textviewer.  And TextView
  46. is fast.  It loads files in a twinkling of an eye, it has
  47. custom routines for text output and scrolling, and searching
  48. for a string is very fast.  I have tried to make it
  49. configurable and userfriendly, so I hope it can be used by
  50. anybody.
  51.  
  52. Features:
  53. · Written entirely in assembler.
  54. · Has custom routines for text output and scrolling.
  55. · Scrollbar with soft realtime scrolling.
  56. · Handles both LF and CR+LF as EOL.
  57. · Can show different fontstyles and colors.
  58. · Doesn't show commands in AmigaGuide files.
  59. · Files can be shown in binary and hexadecimal form.
  60. · Reads files crunched with PowerPacker.
  61. · Can crunch and save files.
  62. · Can be made Resident.
  63. · NewLook menus under AmigaOS 3.0+.
  64. · Font sensitive.
  65. · Random palettes.
  66. · Window on own screen or any public screen.
  67. · Configure font, screen depth, placement of scrollbar, etc.
  68. · Very fast searchroutine.
  69. · Up to ten bookmarks.
  70. · AmigaOS 1.2/1.3 compatible.
  71.  
  72.  
  73.  
  74.  
  75.  
  76. 3. Requirements
  77. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  78. Reqtools.library is required if you want to:
  79. Choose file (loading and saving), choose font, choose screen
  80. mode, search for a string, set tab size, set priority, change
  81. palette.
  82.  
  83. Alternatively asl.library can be used for the file-, font-
  84. and screen mode selecting.
  85.  
  86. Powerpacker.library is required if you want to:
  87. View a file that is both crunched and encrypted with
  88. PowerPacker, or crunch and save a file.
  89.  
  90. Asl.library is a part of AmigaOS 2.0+. Reqtools.library and
  91. powerpacker.library are popular libraries by Nico François.
  92. You should not have any big trouble finding these if you
  93. don't already have them.
  94.  
  95.  
  96.  
  97.  
  98.  
  99. 4. Usage
  100. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  101. TextView can be started from both CLI and Workbench, and can
  102. be made resident.  It doesn't take any arguments from
  103. Workbench, except the file if you use TextView as default
  104. tool.  From CLI the usage is:
  105. TextView [file|dir] [TABS <n>] [BIN|HEX]
  106.  
  107. You can use the arrow keys to view lines that are too long,
  108. or use Word Wrap by pressing W.  TextView will then format
  109. the text by putting line feeds where appropriate.  Word Wrap
  110. cannot be undone.
  111.  
  112. Use shift and an F-key to set a bookmark the same F-key to
  113. go to that bookmark. Use B/H keys to toggle between
  114. bin/hex/normal view mode. Press Help to see key commands
  115. and some other information.
  116.  
  117.  
  118.  
  119.  
  120.  
  121. 5. Load
  122. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  123. If you start TextView with no arguments, it will open a file
  124. requester.  You can specify a filename on the commandline to
  125. load directly, or a directory to position the file requester
  126. in.  If you want to load a new file, use Open in the Project
  127. menu.
  128.  
  129. TextView will load the whole file in one turn. It has some
  130. disadvantages. It requires that there is a free continuous
  131. block of memory as large as the file. The loading cannot be
  132. interrupted. You can't start reading until the whole file
  133. is loaded. But it is fast.
  134.  
  135. If the file was crunched with PowerPacker it will
  136. automatically be decrunched before it is shown.  If it is
  137. encrypted you will be asked for a password first.
  138.  
  139. When the file is loaded, TextView will count the number of
  140. lines in it, and at the same time create a small speed up
  141. table used when scrolling through the file.
  142.  
  143.  
  144.  
  145.  
  146.  
  147. 6. Save
  148. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  149. Sometimes I load a huge file of a floppy with TextView, and
  150. then discover that I want a copy of it on the HD.  Since the
  151. file is in memory, it would be a waste of time to have to
  152. access the slow floppy once again.  I think it is natural to
  153. have a save function in a textviewer, even if it is not
  154. possible to edit the text.
  155.  
  156. Use Save As in the Project menu to save the current file.
  157. It is easy to select Save As instead of Open in a hurry, but
  158. TextView will of course warn you if a file with the selected
  159. name already exists.
  160.  
  161.  
  162.  
  163.  
  164.  
  165. 7. Crunch
  166. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  167. In the Project menu there are three labels handling
  168. crunching.
  169.  
  170. Project->Crunch crunches the file currently in view. You
  171. can't use this function to encrypt or crunch executable
  172. files, it only handles "data" files. The efficiency used is
  173. always "best". Speedup buffer is automatically adjusted to
  174. available memory. One or two "*" will be shown in the
  175. titlebar while crunching if the largest buffer couldn't be
  176. allocated; and crunching is then slower. You can abort
  177. crunching at any time by selecting crunch again.
  178.  
  179. Project->Save PP saves the file crunched. It will
  180. automatically crunch it, if you haven't done it. If this
  181. function crunches the file itself, it will not keep the
  182. crunched part if saving is successful.
  183.  
  184. Project->Flush PP frees the memory eventually holding the
  185. crunched file. Press the help key or choose Project->About
  186. to see if the file have been crunched. Crun shows the size
  187. of the file crunched (excluding the ID-header) and Gain
  188. shows how much smaller the crunched file is.
  189.  
  190.  
  191.  
  192.  
  193.  
  194. 8. Search
  195. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  196. If you want to search for a string there is a Search menu,
  197. it is easier to just press F or S.  Use shift if you want to
  198. search for a string case-sensitive.  When you have entered
  199. the string in the string gadget, the title bar will read
  200. "Searching...".  If the whole file is scanned and the string
  201. couldn't be found, the titlebar will read "Not Found".  If
  202. the string was found, it will be highlighted in the middle
  203. of the window.
  204.  
  205. Press N to search for the next occurence of the string, or P
  206. to search for the previous one.
  207.  
  208. The search function will never move the text to a different
  209. horizontal position.
  210.  
  211. If you search for a string in an AmigaGuide file with the
  212. Guide flag set, some occurences might not be highlighted.
  213.  
  214. If you search for a string in bin/hex mode, it will be shown
  215. at the top of the window, and it will not be highlighted.
  216.  
  217.  
  218.  
  219.  
  220.  
  221. 9. Settings
  222. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  223. The settings menu lets you configure TextView.
  224.  
  225. Asl
  226. ~~~
  227. If this is selected TextView will use asl.library for the
  228. file-, font- and screen mode requesters instead of
  229. reqtools.library.
  230.  
  231. ANSI
  232. ~~~~
  233. Tells TextView to show different colors and font styles in
  234. some files. This will make text output slower, especially
  235. if different colors forces TextView to use more than only
  236. the first bitplane.
  237.  
  238. Guide
  239. ~~~~~
  240. TextView will not show commands in AmigaGuide files, which
  241. makes them much more readable.  Text ouput may be slower,
  242. but leave this flag on.  It is automatically switched off
  243. internally when viewing other files.
  244.  
  245. Screen Close Gadget
  246. ~~~~~~~~~~~~~~~~~~~
  247. It is not possible to have a closegadget directly on a
  248. screen.  Therefore some programs don't have any closegadget
  249. when using a screen, or they solve it in different,
  250. sometimes stupid, ways.
  251.  
  252. If this flag is selected, TextView will open an extra window
  253. on the screen with only a closegadget.  The size of the
  254. closegadget isn't known in advance, so the window will have
  255. the size 1x1 when opened.  Then TextView finds out the size
  256. of the closegadget and resizes the window according to it.
  257.  
  258. This is the best solution I can think of right now.  A
  259. problem might be that for the titlebar string to be shown
  260. altogether, some extra spaces must be put in the beginning
  261. of it.  If there is any problem or you don't like this, you
  262. can turn this option off.
  263.  
  264. Make Screen Public
  265. ~~~~~~~~~~~~~~~~~~
  266. If TextView is using its own custom screen, it will be made
  267. public when running under AmigaOS 2.0+.  Other applications
  268. can then open their windows on TextView's screen in a manner
  269. supported by the OS.  The name of the screen is
  270. TextViewScreenN, where N is a number from 1 and upwards,
  271. depending on the number of screens that are opened by
  272. TextView.
  273.  
  274. Use Custom Routines
  275. ~~~~~~~~~~~~~~~~~~~
  276. If this flag is selected, TextView will use its own custom
  277. routines for text output and scrolling.  One routine is used
  278. for any 8x8 size font, and writes the characters directly on
  279. the screen.  Another uses the blitter to clear areas on the
  280. screen.  A third uses the CPU for scrolling, but only on
  281. 68020 or better.
  282.  
  283. If this flag isn't selected, there is one special routine
  284. that might be used anyway.  It is used for any 8x8 size font
  285. and uses BltTemplate(), like some patches for the
  286. Text-function.
  287.  
  288. This flag cannot be selected if TextView isn't using its own
  289. custom screen, or if it is made public.
  290.  
  291. Select Tab Size
  292. ~~~~~~~~~~~~~~~
  293. Opens a requester and lets you set the tab size.
  294.  
  295. Screen->Use Public Screen
  296. ~~~~~~~~~~~~~~~~~~~~~~~~~
  297. If TextView is running under AmigaOS 1.2/1.3 it will open
  298. its window on the Workbench screen.  If running under
  299. AmigaOS 2.0+ it will first open it the default public
  300. screen, which often is the Workbench screen.  If TextView
  301. already has its window on any public screen, it will close
  302. it and open it on the next available public screen.
  303.  
  304. Screen->Duplicate Workbench
  305. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  306. Use a screen with the same size and mode as the Workbench
  307. screen.
  308.  
  309. Screen->Select Type
  310. ~~~~~~~~~~~~~~~~~~~
  311. Lets you select screen mode and size from a requester.
  312.  
  313. Screen->Hires/Hires-Interlace
  314. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  315. Open screen in hires/hires-interlace mode, and with the same
  316. size as the Workbench screen.  Mostly intended for kickstart
  317. 1.2/1.3 users, because the screen mode requester is only
  318. available under 2.0+.
  319.  
  320. Depth->1/2/3
  321. ~~~~~~~~~~~~
  322. Specifies screen depth.  Only one color can be used for the
  323. text if you select depth 1, but it saves chip memory.
  324.  
  325. Colors->Random
  326. ~~~~~~~~~~~~~~
  327. Each time TextView is started, it will randomly use one of
  328. the predefined palettes in the submenu.
  329.  
  330. Colors->Default
  331. ~~~~~~~~~~~~~~~
  332. Use the same colors as the Workbench screen.
  333.  
  334. Colors->Adjust
  335. ~~~~~~~~~~~~~~
  336. Opens a requester and lets you adjust the screen colors.
  337.  
  338. Colors->Tint/Paraoh...
  339. ~~~~~~~~~~~~~~~~~~~~~~
  340. These are the same palettes as in the 3.0 palette preference
  341. program.  Am I creative or what? :)
  342.  
  343. Font
  344. ~~~~
  345. The font menu specifies the font that will be used for text
  346. output, and it can only be monospace.
  347.  
  348. Font->Default
  349. ~~~~~~~~~~~~~
  350. Use GfxBase->DefaultFont.  It is the "System Default Text"-
  351. choice in the font preferences program.
  352.  
  353. Font->Select
  354. ~~~~~~~~~~~~
  355. Select font in a requester.
  356.  
  357. Font->Topaz 8/9
  358. ~~~~~~~~~~~~~~~
  359. The fonts that lives in the kickstart.
  360.  
  361. Scroll Bar->None
  362. ~~~~~~~~~~~~~~~~
  363. Don't use a scroll bar.
  364.  
  365. Scroll Bar->Left/Right/Top/Bottom
  366. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  367. Have a scroll bar in the prefered location.  Only one can be
  368. used.  Even if it is placed at the top or bottom of the
  369. window, it is used for moving the text in the vertical
  370. directions only.
  371.  
  372. Priority->Inherit
  373. ~~~~~~~~~~~~~~~~~
  374. Run at whatever priority TextView was started with.
  375.  
  376. Priority->Select
  377. ~~~~~~~~~~~~~~~~
  378. Enter new priority in a requester.
  379.  
  380. Priority->-1/0/1
  381. ~~~~~~~~~~~~~~~~
  382. Use priority -1, 0 or 1.
  383.  
  384. Reset To Defaults
  385. ~~~~~~~~~~~~~~~~~
  386. Use the same settings as when there is no preference file
  387. for TextView.
  388.  
  389. Last Saved
  390. ~~~~~~~~~~
  391. Loads TextView's configuration file. It is first searched
  392. for in ENV:, and then S:.
  393.  
  394. Save Settings
  395. ~~~~~~~~~~~~~
  396. Saves a configuration file named "TextView.prefs", which is
  397. a couple of hundred bytes long.  TextView first tries to
  398. save it in ENVARC:, which is usually assigned to
  399. SYS:Prefs/Env-Archive under AmigaOS 2.0+.  If there was any
  400. error, TextView quietly tries to save it in S:  instead.
  401. Then it is saved once more in ENV:.  If there was any error
  402. along the way, the screen will flash.
  403.  
  404.  
  405.  
  406.  
  407.  
  408. 10. Comments
  409. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  410. If you bring up the menus while TextView is scrolling text,
  411. the menus and some text can get garbled.
  412.  
  413. Showing italic text under kickstart 1.2/1.3 can crash the
  414. machine.
  415.  
  416. Window borders and the scrollbar can get overwritten when
  417. showing different fontstyles, especially with large fonts.
  418.  
  419. All ANSI codes are not interpreted correctly. Colors and
  420. styles are reset at the beginning of each line.
  421.  
  422.  
  423.  
  424.  
  425.  
  426. 11. History
  427. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  428. 1.0 (31.10.94)
  429. · First release.
  430.  
  431. 1.1 (8.11.94)
  432. · Can load encrypted files crunched with PowerPacker.
  433. · Uses ENV:/ENVARC: rather than S: for configuration file.
  434. · Scroll page one char left or right is faster.
  435. · Save settings didn't save priority value.
  436. · Changing size of window when about or help text was shown
  437.   didn't calculate new size of page.
  438.  
  439. 1.2 (29.7.95)
  440. · Removed option to use asl.library for file-, font- and
  441.   screen mode requesters.
  442. · Removed option to print file.
  443. · Menus under KS 1.3 looks exactly the same as under 2.0.
  444. · Optimized search routine, small but significant change.
  445. · Loading routine crashed on some errors. :-(
  446. · Does not use Seek() with offset argument OFFSET_END.
  447.   Loading crunched files would give Seek() error on A570.
  448. · Choosing scrollbar none wouldn't always make it disappear.
  449. · Italicised text didn't look nice when scrolling one char
  450.   left or right.
  451. · Handles filename with spaces when started as default tool
  452.   from Workbench.
  453. · Integrated menu Project->About and Help key functions.
  454.   This function now also shows file location in memory,
  455.   available memory and some other info. Also fixed bug which
  456.   let the text be shown in any font style.
  457. · Quits with a return code of 20 (RETURN_FAIL) in case of an
  458.   error or if Ctrl-D is received.
  459. · Listens to Ctrl-C, Ctrl-D and Ctrl-F. When Ctrl-C is
  460.   received TextView will quit. When Ctrl-D is received
  461.   TextView will quit with a return code of 20 (RETURN_FAIL).
  462.   When Ctrl-F is received TextView will bring its window to
  463.   the front and activate it.
  464. · Line length limit extended from 1024 to 65535 chars.
  465. · Can crunch (but not encrypt) file and save it crunched.
  466.   (requires powerpacker.library).
  467. · Alt with arrow key moves 1/5th of page.
  468. · Save As and Save PP use separate requester buffer.
  469. · Successful saving adds file in requester buffer.
  470. · Changing ANSI flag wouldn't always refresh page correctly.
  471. · Hilites string searched for with pen color 3 if second
  472.   bitplane already is in use.
  473. · Added Guide flag in Settings menu.
  474. · TextView is now shareware.
  475.  
  476. 1.3 (3.2.96)
  477. · Loading routine uses dos.library/OpenFromLock() instead of
  478.   dos.library/Open() when possible. (KS 2.0+)
  479. · Emulation of LockPubScreen() (used on KS 1.3) now opens a
  480.   small window on the workbench screen. Method used before
  481.   was not good.
  482. · Opening window on public screen brings screen to front
  483.   and then opens window, not the other way around.
  484.   (I like to see what's happening. :)
  485. · Opening window on public screen will bring back eventual
  486.   screen that was in front before.
  487. · Removed bugs in the code that scans the public screen list
  488.   (when selecting Settings->Screen->Use Public Screen).
  489. · Saving settings saves name of public screen, so TextView
  490.   won't always necessarily open on default public screen.
  491. · Remembers window position and size better.
  492. · Resizes window before opening on a screen that is too
  493.   small little more clever (when cycling through public
  494.   screens for example).
  495. · Bug fix: Illegal FreeMem() when window/screen failed to
  496.   open.
  497. · Opens interleaved screen. (KS 3.0+)
  498. · Opens window on public screen with Type=PUBLICSCREEN
  499.   instead of CUSTOMSCREEN. (KS 2.0+) 
  500. · Checks visitor windows before changing settings that will
  501.   close and reopen screen.
  502. · Menu items that has no effect at the moment are ghosted.
  503. · Uses a copy of the window rastport. Using window on
  504.   Workbench screen on KS 1.3 and changing the rastport mask
  505.   didn't look good when doing window arrangement. (TextView
  506.   will still always set font used for text output in window
  507.   rastport to cooperate with Snap and PowerSnap.)
  508. · Made text output faster when using any 8x8 size font,
  509.   though this uses some memory.
  510. · Implemented smooth, pixel resolution, realtime scrolling
  511.   using the scrollbar. TextView now uses the same technique
  512.   as req.library and CygnusEd.
  513. · Knows about more error codes returned by OpenScreen(), and
  514.   retries a little harder when it fails.
  515. · Scrollbar can be placed at the top or the bottom of the
  516.   window.
  517. · Made a scrolling routine that uses the CPU, if it is 68020
  518.   or better.
  519. · Never shows carriage return, so you don't have to select
  520.   Settings->ANSI if you only want them out of the way.
  521. · Changed MEMF_PUBLIC/MEMF_ANY attributes on some memory
  522.   allocations to work better (faster) with virtual memory.
  523. · Right mouse button is no longer used for scrolling, only
  524.   the left one.
  525. · Added ability to directly choose hires and interlace
  526.   screenmodes.
  527. · Added menu item Settings->Colors->Random.
  528. · Changes priority to -1 when crunching.
  529. · Put back option to use asl.library for file-, font- and
  530.   screen mode requesters.
  531. · Non-printable characters are shown as '.' in bin/hex mode.
  532. · Calls AutoRequest() on common errors instead of
  533.   DisplayAlert().
  534. · Found math routines in KS 1.3, now uses them.
  535. · Added close gadget on screen.
  536. · Screen text font is same as default public screen, not
  537.   system default font.
  538. · ANSI flag handles backspace, except when the beginning of
  539.   the lines aren't shown.
  540. · New menu: Search.
  541. · Searching for previous occurence of a string could fail,
  542.   if the string was near the very beginning of the text.
  543. · Can decrunch non-encrypted files without powerpacker.lib.
  544. · Added option "Use Custom Routines". Before they were used
  545.   when "Make Screen Public" was deselected.
  546. · Word Wrap implemented.
  547. · Lots of minor changes and bug fixes.
  548.  
  549. 1.4 (8.2.96)
  550. · Loading new file while in bin/hex mode will no longer
  551.   reset to normal mode.
  552. · Parses commandline with ReadArgs() instead of own routine.
  553.   (KS 2.0+)
  554. · Added bin/hex commandline options.
  555. · Bug fix: Using an asl-requester and a reqtools-requester
  556.   would corrupt memory list when quitting.
  557. · Handles string in an AmigaGuide command that ends with "'"
  558.   better.
  559. · Improved rand-routine.
  560. · Preset palettes had no values for color registers 4-7.
  561.  
  562.  
  563.  
  564.  
  565.  
  566. 12. Credits
  567. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  568. Thanks to:
  569. · Nico François for reqtools.library and
  570.   powerpacker.library.
  571. · Andreas Magnusson for betatesting.
  572. · All who sent me bugreports and suggestions.
  573.  
  574.  
  575.  
  576.  
  577.  
  578. 13. Distribution
  579. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  580. TextView is made by and copyright Torbjörn Andersson. No
  581. commercial usage is allowed without written permission from
  582. the author. Other distribution is allowed if no files in
  583. the original distribution are removed or modified.
  584.  
  585. TextView is not free. If you use it for more than one month
  586. you are requested to register. The suggested fee is US $5 or
  587. 20 SEK. Please send the fee to this address:
  588.  
  589. Torbjörn Andersson
  590. Knöppletorp 4379
  591. S-380 31 LÄCKEBY
  592. SWEDEN
  593.  
  594. Please write to me if you can use email and have any
  595. comments or questions. My email address is:
  596.  
  597. d95ta@efd.lth.se
  598.  
  599.  
  600.  
  601.  
  602.  
  603.                                           I love you - AMIGA
  604.